const mongoose = require('mongoose');

const Schema = mongoose.Schema({
    title: String, // 文章标题
    content: String, // 文章内容
    categoryID: String, // 文章分类ID
    tags: [String], // 文章标签ID数组
    desc: String, // 文章描述
    cover: String, // 文章封面
    authorID: String, // 作者ID
    author: { // 作者信息（冗余存储，提高查询效率）
        _id: String,
        nickname: String,
        avatar: String,
    },
    isPublish: Boolean, // 是否发布
    isTop: Boolean, // 是否置顶
    isRecommend: { type: Boolean, default: false }, // 是否推荐
    isOriginal: Boolean, // 是否原创
    viewNum: { type: Number, default: 0 }, // 阅读量
    likeNum: { type: Number, default: 0 }, // 点赞数
    commentNum: { type: Number, default: 0 }, // 评论数
    createTime: { type: Date, default: Date.now }, // 创建时间
    updateTime: { type: Date, default: Date.now }, // 更新时间
    isDelete: { type: Boolean, default: false }, // 是否删除
    aboutInfo: Object, // 关联信息（分类、作者、标签等）
    index: Number, // 排序
})

// 添加索引
Schema.index({ createTime: -1 });
Schema.index({ viewNum: -1 });
Schema.index({ likeNum: -1 });
Schema.index({ title: 'text', desc: 'text', content: 'text' });

module.exports = mongoose.model('Article', Schema);